Sharing resources in a networked computer system, such as processors, computer memories, network bandwidth and data storage facilities, among clients, e.g., virtual machines (VMs), running on the system can increase efficiency by reducing maintenance and operating costs, allowing flexibility with respect to individual resource usage, and simplifying resource management. Resource sharing is a critical element for utilizing virtual datacenters to realize private, hybrid and public clouds to support various applications. However, in order to serve a disparate set of needs and to respect a diverse set of constraints, deployments of virtual datacenters are necessarily becoming more heterogeneous with respect to the underlying hardware, hypervisors and management servers used to host and manage end-user virtual machines.
One of the concerns of heterogeneous deployments of virtual datacenters for a single entity is that resource management of the underlying hardware may be handled by multiple resource management systems that manage only portions of the virtual datacenters. These multiple resource management systems add complexity to the virtual datacenters and present challenges for administrators to manage different assets owned or leased by the entity.